#ifndef NMC_TILESELECTOR_HPP
#define NMC_TILESELECTOR_HPP

#include "guichan.hpp"
#include "editor/gui/tilesview.hpp"
#include "editor/gui/imagecheckbox.hpp"

namespace nmc
{
    class TileSelector: public gcn::Container, public gcn::ActionListener
    {
    public:
        TileSelector();
        ~TileSelector();
        void setSelectedTileWithDefaultFlags(int tileNumber);
        void setSelectedTileNumber(int tileNumber);
        void setSelectedTileFlags(int tileFlags);
        int getSelectedTileNumber();
        int getSelectedTileFlags();
        void action(const gcn::ActionEvent& actionEvent);
        void draw(gcn::Graphics* graphics);
        void setSize(int width, int height);

    protected:
        int mSelectedTileFlags;

        gcn::ScrollArea* mScrollArea;
        TilesView* mTilesView;
        ImageCheckBox* mSolidityCheckBox;
        ImageCheckBox* mBackgroundLayerCheckBox;
        ImageCheckBox* mForegroundLayerCheckBox;
        ImageCheckBox* mPlatformCheckBox;
		ImageCheckBox* mIceCheckBox;
    };
}

#endif